Location: FAIR DOs example 4.2 @ 2b37128464bd / FAIRDO BG example 4.2.cellml

Author:
David Nickerson <david.nickerson@gmail.com>
Date:
2024-01-29 23:19:10+13:00
Desc:
update from Peter
Permanent Source URI:
https://models.cellml.org/workspace/b58/rawfile/2b37128464bd1e58ba66a90deec7ab078bf0fe82/FAIRDO BG example 4.2.cellml

<?xml version='1.0' encoding='UTF-8'?>
<model name="BG42" xmlns="http://www.cellml.org/cellml/1.1#" xmlns:cellml="http://www.cellml.org/cellml/1.1#">
    <!-- Facilitated diffusion -->
    <units name="dim">
        <unit units="dimensionless"/>
    </units>
    <units name="per_s">
        <unit exponent="-1" units="second"/>
    </units>
    <units name="per_s3">
        <unit exponent="-3" units="second"/>
    </units>
    <units name="per_mol">
        <unit exponent="-1" units="mole"/>
    </units>
    <units name="per_mol2">
        <unit exponent="-2" units="mole"/>
    </units>
    <units name="mol_per_s">
        <unit units="mole"/>
        <unit exponent="-1" units="second"/>
    </units>
    <units name="per_mol_per_s">
        <unit exponent="-1" units="mole"/>
        <unit exponent="-1" units="second"/>
    </units>
    <units name="mM">
        <unit units="mole"/>
        <unit exponent="-3" units="meter"/>
    </units>
    <units name="mM_per_s">
        <unit units="mM"/>
        <unit exponent="-1" units="second"/>
    </units>
    <component name="main">
        <variable initial_value="0" name="t" units="second"/>
        <variable initial_value="100" name="q_1" units="mole"/>
        <variable initial_value="0" name="q_2" units="mole"/>
        <variable initial_value="0" name="q_3" units="mole"/>
        <variable initial_value="0" name="q_4" units="mole"/>
        <variable initial_value="0" name="q_5" units="mole"/>
        <variable name="q_6" units="mole"/>
        <variable initial_value="1" name="q_tot" units="mole"/>
        <variable name="v_1" units="mol_per_s"/>
        <variable name="v_2" units="mol_per_s"/>
        <variable name="v_3" units="mol_per_s"/>
        <variable name="v_4" units="mol_per_s"/>
        <variable initial_value="100" name="kappa_1" units="mol_per_s"/>
        <variable initial_value="100" name="kappa_2" units="mol_per_s"/>
        <variable initial_value="1" name="kappa_3" units="mol_per_s"/>
        <variable initial_value="0.1" name="kappa_4" units="mol_per_s"/>
        <variable initial_value="0.1" name="K_1" units="per_mol"/>
        <variable initial_value="0.1" name="K_2" units="per_mol"/>
        <variable initial_value="0.1" name="K_s" units="per_mol"/>
        <variable initial_value="1" name="K_3" units="per_mol"/>
        <variable initial_value="1" name="K_4" units="per_mol"/>
        <variable initial_value="1" name="K_5" units="per_mol"/>
        <variable initial_value="1" name="K_6" units="per_mol"/>
        <variable initial_value="1" name="K_m" units="per_mol"/>
        <variable name="k_m" units="mole"/>
        <variable name="v_max" units="mol_per_s"/>
        <!-- Full bond graph model-->
        <variable name="k_f_1" units="per_mol_per_s"/>
        <variable name="k_r_1" units="per_s"/>
        <variable name="k_f_2" units="per_s"/>
        <variable name="k_r_2" units="per_mol_per_s"/>
        <variable name="k_f_3" units="per_s"/>
        <variable name="k_r_3" units="per_s"/>
        <variable name="k_f_4" units="per_s"/>
        <variable name="k_r_4" units="per_s"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>k_f_1</ci>
                <apply>
                    <times/>
                    <ci>kappa_1</ci>
                    <ci>K_1</ci>
                    <ci>K_6</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>k_r_1</ci>
                <apply>
                    <times/>
                    <ci>kappa_1</ci>
                    <ci>K_3</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>k_f_2</ci>
                <apply>
                    <times/>
                    <ci>kappa_2</ci>
                    <ci>K_4</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>k_r_2</ci>
                <apply>
                    <times/>
                    <ci>kappa_2</ci>
                    <ci>K_2</ci>
                    <ci>K_5</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>k_f_3</ci>
                <apply>
                    <times/>
                    <ci>kappa_3</ci>
                    <ci>K_3</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>k_r_3</ci>
                <apply>
                    <times/>
                    <ci>kappa_3</ci>
                    <ci>K_4</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>k_f_4</ci>
                <apply>
                    <times/>
                    <ci>kappa_4</ci>
                    <ci>K_5</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>k_r_4</ci>
                <apply>
                    <times/>
                    <ci>kappa_4</ci>
                    <ci>K_6</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_1</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_1</ci>
                </apply>
            </apply>
            <!--        ode(q_2, t) =  v_2;-->
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_2</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_2</ci>
                    <apply>
                        <times/>
                        <cn cellml:units="per_s">1000</cn>
                        <ci>q_2</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_3</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_1</ci>
                    <ci>v_3</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_4</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_3</ci>
                    <ci>v_2</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>q_5</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_2</ci>
                    <ci>v_4</ci>
                </apply>
            </apply>
            <!--        ode(q_6, t) =  v_4-v_1;-->
            <apply>
                <eq/>
                <ci>q_6</ci>
                <apply>
                    <minus/>
                    <apply>
                        <minus/>
                        <apply>
                            <minus/>
                            <ci>q_tot</ci>
                            <ci>q_3</ci>
                        </apply>
                        <ci>q_4</ci>
                    </apply>
                    <ci>q_5</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_1</ci>
                <apply>
                    <minus/>
                    <apply>
                        <times/>
                        <ci>k_f_1</ci>
                        <ci>q_1</ci>
                        <ci>q_6</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>k_r_1</ci>
                        <ci>q_3</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_2</ci>
                <apply>
                    <minus/>
                    <apply>
                        <times/>
                        <ci>k_f_2</ci>
                        <ci>q_4</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>k_r_2</ci>
                        <ci>q_2</ci>
                        <ci>q_5</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_3</ci>
                <apply>
                    <minus/>
                    <apply>
                        <times/>
                        <ci>k_f_3</ci>
                        <ci>q_3</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>k_r_3</ci>
                        <ci>q_4</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_4</ci>
                <apply>
                    <minus/>
                    <apply>
                        <times/>
                        <ci>k_f_4</ci>
                        <ci>q_5</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>k_r_4</ci>
                        <ci>q_6</ci>
                    </apply>
                </apply>
            </apply>
        </math>
        <!-- Rapid binding & unbinding & SS flux-->
        <variable name="v_SF" units="mol_per_s"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>v_SF</ci>
                <apply>
                    <divide/>
                    <apply>
                        <times/>
                        <ci>q_tot</ci>
                        <ci>kappa_3</ci>
                        <ci>kappa_4</ci>
                        <ci>K_m</ci>
                        <ci>K_s</ci>
                        <apply>
                            <minus/>
                            <ci>q_1</ci>
                            <ci>q_2</ci>
                        </apply>
                    </apply>
                    <apply>
                        <plus/>
                        <apply>
                            <times/>
                            <cn cellml:units="dim">2</cn>
                            <ci>kappa_4</ci>
                        </apply>
                        <apply>
                            <times/>
                            <apply>
                                <plus/>
                                <ci>kappa_3</ci>
                                <ci>kappa_4</ci>
                            </apply>
                            <ci>K_s</ci>
                            <apply>
                                <plus/>
                                <ci>q_1</ci>
                                <ci>q_2</ci>
                            </apply>
                        </apply>
                        <apply>
                            <times/>
                            <cn cellml:units="dim">2</cn>
                            <ci>kappa_3</ci>
                            <ci>K_s</ci>
                            <ci>K_s</ci>
                            <ci>q_1</ci>
                            <ci>q_2</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <!-- Michaelis-Menten-->
            <apply>
                <eq/>
                <ci>k_m</ci>
                <apply>
                    <divide/>
                    <cn cellml:units="dim">2</cn>
                    <apply>
                        <times/>
                        <ci>K_s</ci>
                        <apply>
                            <plus/>
                            <cn cellml:units="dim">1</cn>
                            <apply>
                                <divide/>
                                <ci>kappa_3</ci>
                                <ci>kappa_4</ci>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_max</ci>
                <apply>
                    <divide/>
                    <apply>
                        <times/>
                        <ci>q_tot</ci>
                        <ci>kappa_3</ci>
                        <ci>K_m</ci>
                    </apply>
                    <apply>
                        <plus/>
                        <cn cellml:units="dim">1</cn>
                        <apply>
                            <divide/>
                            <ci>kappa_3</ci>
                            <ci>kappa_4</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
        </math>
        <variable name="v_MM" units="mol_per_s"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>v_MM</ci>
                <apply>
                    <divide/>
                    <apply>
                        <times/>
                        <ci>v_max</ci>
                        <ci>q_1</ci>
                    </apply>
                    <apply>
                        <plus/>
                        <ci>k_m</ci>
                        <ci>q_1</ci>
                    </apply>
                </apply>
            </apply>
        </math>
    </component>
</model>